
#ifndef _MEMBER_BFONT_H_
#define _MEMBER_BFONT_H_

#include <BMap>
#include <BGlyph>
#include <BImage>
#include <BString>
#include <BSize>
#include <BFont>
#include "IFontFamily.h"

#define font_member(font)		((member_BFont*)((BFont*)font)->_ptr)

namespace BWE
{
	class member_BFont
	{
	public:
		member_BFont(BFont* font);
		~member_BFont();

		bool loadFamily();

		CodeInfo* getCodeInfo(BCode code);

		BSize codeSize(BCode code);

		BFont*			boss;
		bool			bold;
		bool			italic;
		bool			underline;
		int				spaceSize;
		int				tabSize;
		Encoding		encoding;
		BSize			size;
		BString			family;

		BMap<BCode, CodeInfo>	table;
		BArray<BCode>			troubleCodes;
		BHolder<IFontFamily>	fontFamily;
	};
}

#endif